package com.example.bean;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        String input1 = "0065-W1-001-0001";
        String input2 = "0065-W1-001-00211";


        String date1 = "[202307d09]";
        String date2 = "20231204";
        String date3 = "2023-12-04";
        String date4 = "2023/12/04";

        boolean isValid1 = isValidDateFormat(date1);
        boolean isValid2 = isValidDateFormat(date2);
        boolean isValid3 = isValidDateFormat(date3);
        boolean isValid4 = isValidDateFormat(date4);

        String input11 = "你好world";
        String input22 = "咸宁市档案馆，我市档案[](123)"; // 包含特殊字符@

        boolean isValid11 = isValidString(input11);
        boolean isValid22 = isValidString(input22);

        System.out.println(input1 + " is valid: " + isValid11); // 输出 true
        System.out.println(input2 + " is valid: " + isValid22); // 输出 false

    }

    private static int extractAndParse(String input) {
        // 使用substring方法获取最后一个-后面的字符串
        String lastPart = input.substring(input.lastIndexOf('-') + 1);

        // 使用parseInt方法将字符串转换为整数
        return Integer.parseInt(lastPart);
    }
    private static boolean isValidDateFormat(String input) {
        // 使用正则表达式匹配 [20230709] 或 20231204 格式
        String regex = "^\\[(\\d{8})\\]$|^\\d{8}$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        return matcher.matches();
    }

    private static boolean isValidString(String input) {
        // 使用正则表达式匹配只包含中文、数字、字母、顿号（、）、括号（()）、方括号（[]）、逗号（,）和句号（。）的字符串
        String regex = "^[\\u4e00-\\u9fa5a-zA-Z0-9，（）&#8203;``【oaicite:1】``&#8203;、,。]*$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        return matcher.matches();
    }
}
